//------------------------------------------------------------------------------
//
//  File: PMHandleControlList.h
//
//  Copyright (C) 2007 Visual.Wei
//  Author: Wei Shuai <cpuwolf@sina.com>
//
//  Common Class for Device Driver Development
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
//
#pragma once
#include <windows.h>
#include <list>
#include "PMControl.h"
using namespace std ;
class PMHandleControlList
{
public:
	PMHandleControlList(void);
public:
	~PMHandleControlList(void);
	BOOL Add(HWND hwnd,PMControl * pdlg);
	BOOL Del(HWND hwnd);
	BOOL Del(PMControl * pdlg);
	PMControl * GetClassfromHandle(HWND hwnd);
private:
	struct vlist
	{
		HWND m_hwnd;
		PMControl * m_pdlg;
	};

	list <struct vlist> mylist;
	list <struct vlist>::iterator m_Iter;
};


extern PMHandleControlList ControlList;